<?php

	require_once CORMO_DIR_CORE.'Schema.class.php';

	/**
	 * Base del Scaffolding.
	 * Representa los Objetos Proxy que se encargaran de convertir un Web Services en Objeto
	 * permitiendo de esta manera trabajar siempre con logica OOP.
	 *
     * @category cormo
     * @package Generator
     * @author Germán Dario Peraferrer <gperaferrer@gmail.com>
     * @copyright Copyright (c) 2007 Germán Dario Peraferrer - Beetec
     * @version 1.0 Beta
     * @license http://www.opensource.org/licenses/bsd-license.php New BSD License
     * @link http://code.google.com/p/cormoframework/
     * @link http://www.beetec.com.ar
	 */
	
	class Connection extends Schema {
		
        public function __construct($nameObjectORM) {
       		parent::__construct($nameObjectORM);
       	}

       /**
        * Obtiene el Tipo de la Basa de Datos.
        *
        * @return string
        */
        public function getType()	{
            return $this->getConfigData("type");
        }

       /**
        * Obtiene el Host de la Basa de Datos.
        *
        * @return string
        */
       public function getHost()	{
           return $this->getConfigData("host");
       }

       /**
        * Obtiene el Nombre de la Basa de Datos.
        *
        * @return string
        */
       public function getDbName()	{
           return $this->getConfigData("dbname");
       }

       /**
        * Obtiene el Usuario de la Basa de Datos.
        *
        * @return string
        */
       public function getUser()	{
           return $this->getConfigData("user");
       }

       /**
        * Obtiene la Clave del Usuario de la Basa de Datos.
        *
        * @return string
        */
       public function getPassword()	{
           return $this->getConfigData("password");
       }

       /**
        * Obtiene la Configuracion PDO sobre el modo de login a la Basa de Datos.
        *
        * @return string
        */
       public function getPersistent()	{
           return $this->getConfigData("persistent");
       }

        /**
         * Controla si estan cargados los datos minimos en el Array de Configuracion
         * debido a que poseteriormente sera utilizado para establecer la conexion con
         * la Base de Datos.
         *
         * @return boolean
         */
        public function isValidConfig()  {
            if( ($this->getType() !== null) &&
                ($this->getHost() !== null) &&
                ($this->getDbName() !== null) &&
                ($this->getUser() !== null) )	{
                    parent::Message()->setMessage("Los datos de configuracion de conexion estan completos, esto no quiere decir que sean los correctos.");
               	    return true;
            } else	{
                parent::Message()->setMessage("Los datos de configuracion de conexion NO estan completos. Verifiquie el archivo Schema.php");
                return false;
            }
        }
   
	}
	
?>